package me.ratel.demo.wechat.entities;

/**
 * @author Administrator
 * @time 2016/8/28 22:18
 */
public class OrderQueryRequestBuilder {
    // String(32)
    // 微信分配的公众账号ID（企业号corpid即为此appId）
    private String appId;

    // String(32)
    // 微信支付分配的商户号
    private String mchId;

    // String(32)
    // 微信订单号
    // 微信的订单号，优先使用
    private String transactionId;

    // String(32)
    // 商户系统内部的订单号,32个字符内、可包含字母
    private String outTradeNo;

    // API密钥
    private String apiKey;

    private OrderQueryRequestBuilder() {
    }

    public static OrderQueryRequestBuilder newBuilder() {
        return new OrderQueryRequestBuilder();
    }

    public OrderQueryRequest build() {
        return new OrderQueryRequest(this);
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public OrderQueryRequestBuilder setAppIdFluent(String appId) {
        setAppId(appId);
        return this;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public OrderQueryRequestBuilder setMchIdFluent(String mchId) {
        setMchIdFluent(mchId);
        return this;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public OrderQueryRequestBuilder setTransactionIdFluent(String transactionId) {
        setTransactionIdFluent(transactionId);
        return this;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public OrderQueryRequestBuilder setOutTradeNoFluent(String outTradeNo) {
        setOutTradeNoFluent(outTradeNo);
        return this;
    }

    public String getApiKey() {
        return apiKey;
    }

    public void setApiKey(String apiKey) {
        this.apiKey = apiKey;
    }

    public OrderQueryRequestBuilder setApiKeyFluent(String apiKey) {
        setApiKey(apiKey);
        return this;
    }
}
